package com.kaili.basic.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.basic.pojo.dto.WellenAndPickManagedto;
import com.kaili.basic.pojo.dto.Wellendto;
import com.kaili.basic.pojo.entity.PickManage;
import com.kaili.basic.pojo.vo.OutApplicationFormVO;
import com.kaili.basic.pojo.vo.OutApplicationProductVO;
import com.kaili.basic.pojo.vo.WellenVo;

import java.util.List;
import java.util.Map;

public interface PickManageService {

    /*查询出库申请单*/
    public Page<PickManage> queryOutApplicationByPage(Page<PickManage> pages,PickManage pickManage);

    /*生成波次单修改出库申请单*/
    public void createWellen(List<WellenAndPickManagedto> pickManages);

    /*根据出库申请单ID查询产品列表*/
    public List<OutApplicationProductVO> queryOutApplicationProduct(Integer applyId);

    /*根据出库申请单ID查询是否存在波次单号*/
    public Integer getWellenNoByApplyId(Integer applyId);


    /*根据分页条件查询波次单*/

    public Page<WellenVo> queryWellenByPages(Page<WellenVo> pages, WellenVo wellenVo);

    /*根据导出条件查询波次单*/

    public List<WellenVo> queryWellenByExport(WellenVo wellenVo);


    /*根据波次单ID删除波次单*/
    void deleteWellenByWellenId(Long wellenId);

    /*根据波次单ID修改波次单状态*/
    void updateWellenById(Wellendto wellendto);

    void updateWellen(Wellendto wellendto);

    /*二次分拣根据分页条件查询波次单*/
    public Page<WellenVo> queryTwoWellenByPages(Page<WellenVo> pages, WellenVo wellenVo);

    /*二次分拣根据条件查询波次单*/
    public List<WellenVo> queryTwoWellenByExcport(WellenVo wellenVo);

    /*波次id查询正在进行中的操作*/
    Integer getWellenOperationCount(Integer welleId);
}
